System to prevent a scrambler from generating undesired symbols

ABSTRACT

A communication system is described in which data characters are each repeatedly encoded in an encoder (3) until an encoded character occurs which is not one of a predetermined set of characters, e.g. reserved characters. Each encoded character, whether or not that encoded character is one of the predetermined set is transmitted by the transmitter (4) to the receiver (5) and a decoded output character provided from the decoder (6) when the corresponding received character is determined not to be the one of the set of characters.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a communications system, and inparticular, though not exclusively, to a communication systemincorporating a satellite link.

2. Related Art

In communications systems such as those having a satellite link, data issent in a synchronous block mode to keep down the overhead of controland signalling information. Such a synchronous link is maintained in theabsence of user data by transmitting a null character e.g. ASCII value00H. A problem arises because the user data may contain the nullcharacter, and unless action is taken the receiving part of thesynchronous link will discard a null in the user data as if it were notdata. To indicate such characters to the receiving part of the link itis known to send "Escape" control sequences of characters but theseincrease the control overhead of a link sharply and are liable to causesignificant errors if one of the characters of a sequence is lost intransmission. This is a particular example of the more general problemof transmitting data, over whatever medium, when that data includes socalled reserved characters or characters which in the circumstances thereceiving part of a link will not recognise as proper data.

SUMMARY OF THE INVENTION

According to the invention there is provided a communications system forhandling a stream of data characters comprising:

a transmitting part having:

means for encoding an incoming data character into an encoded character,

means for determining whether an encoded character is one of apredetermined set of characters,

means, responsive to the determining means, for controlling the encodingmeans to repeatedly encode an incoming data character until an encodedcharacter occurs which is not one of the predetermined set ofcharacters, and

means for transmitting either each encoded character, or when an encodedcharacter is one of the predetermined set,

a character from the predetermined set; and

a receiving part having:

means for receiving a transmitted character,

means for determining whether or not a received character is one of thepredetermined set of characters,

means for decoding a received character so that a decoded character isprovided from the receiver when the corresponding received character isdetermined not to be one of the set of characters.

According to a second aspect of the invention there is provided a datatransmission system in which one or more characters are reserved forsystem use comprising an encoder, a transmitter, a receiver and adecoder; a data stream entering the system is coded by the encoder acharacter at a time and a test for the reserved character is performedon each encoded character, if this is positive the character is encodedagain, all encoded characters are transmitted by the transmitter. Afterthe transmitted characters have been received in the receiver the testfor the reserved character is performed on each received character, ifthis is negative the received character is decoded by the decoder andpassed out of the system as data.

According to a third aspect of the invention there is provided acommunication system in which data characters are each repeatedlyencoded in an encoder until an encoded character occurs which is not oneof a predetermined set of characters; each encoded character, whether ornot that encoded character is one of the predetermined set istransmitted by a transmitter to a receiver and a decoded outputcharacter provided from a decoder when the corresponding receivedcharacter is determined not to be the one of the set of characters.

According to a fourth aspect of the invention there is provided acommunication system for transmitting data from a discontinuous streamof data over a data link requiring a continuous stream of datacomprising:

a transmitting part having:

means for encoding data in an incoming data stream on a character bycharacter basis, which encoding varies between successive characters ofthe continuous stream,

means for determining whether an encoded character is one of apredetermined set of characters,

control means, responsive to the determining means, for controlling theencoding means to repeatedly encode incoming data until an encodedcharacter occurs which is not one of the predetermined set ofcharacters,

detection means for detecting the absence of data in the incoming datastream,

and transmitting means, responsive to the detection means, fortransmitting in the absence of incoming data one of the predeterminedset of characters, or when incoming data is present, each encodedcharacter, unless an encoded character is one of the predetermined setwhen one of the predetermined set of characters is transmitted;

a receiving part having:

means for receiving transmitted characters to maintain the receivingpart in synchronism with the transmitting part;

means for determining whether or not a received character is one of thepredetermined set of characters;

means for decoding a received character, whereby a decoded character isprovided from the receiver when the corresponding received character isdetermined not to be the one of the set of characters, and the decodingmeans being kept co-ordinated with the encoding means of thetransmitting part through the receipt of successive transmittedcharacters.

Advantages of this invention are low overhead in additional information,resulting in a high data throughput, and a very small delay intranslating the characters into and out of the synchronous data stream.

Where the transmissions are synchronous the invention takes advantage ofthe fact that a frame structure exists in the synchronous data stream,as is required for synchronisation purposes in the absence of anadditional clock signal, e.g. most radio and two wire terrestrial links,so that the decoder can be synchronised to the encoder using the framestructure.

The invention is primarily concerned with the mechanism for translationof the information into the synchronous stream, but to maintainthroughput at minimum delay it is necessary to operate some form of dataflow control between the encoder and the source of the data. One methodof achieving this that is simple and effective is to use software flowcontrol.

BRIEF DESCRIPTION OF THE DRAWINGS

A preferred embodiment of the invention will now be described by way ofexample, and with reference to the accompanying drawings, wherein:

FIG. 1 is a schematic diagram of a communications system according tothe preferred embodiment of the invention;

FIG. 2 is a schematic, functional diagram of an encoder forming part ofthe communication system of FIG. 1;

FIG. 3 is a schematic, functional diagram of a decoder forming part ofthe communications system of FIG. 1;

FIG. 4 is a flow diagram illustrating the operation of the encoder ofFIG. 2; and

FIG. 5 is a flow diagram illustrating the operation of the decoder ofFIG. 4.

DETAILED DESCRIPTION OF THE DRAWINGS

Referring first to FIG. 1, a communication system of the preferredembodiment comprises in one part a source data terminal equipment (DTE)1, at a user A, connected via an asynchronous serial, terrestrial datalink 2, e.g. V24, to an encoder 3 which is in turn connected via asynchronous data link to transmitting data communications equipment(DCE) 4, and the system comprises in another part a receiving DCE 5,connected via a synchronous data link to a decoder 6, which is in turnconnected via an asynchronous serial terrestrial link 7 to a destinationDTE 8 at a user B. In this illustrative example the link betweentransmitting DCE 4 and receiving DCE 5 is via a satellite link (notshown) which is synchronous in operation.

The encoder 3 of FIG. 1 is shown in schematic functional terms in FIG.2. The encoder 3, and decoder 6 described below, may be implemented indedicated hardware, e.g. specific digital processing equipment or as acontrolled computational device e.g. 68000 microprocessor. Thefunctional representation of FIG. 2 is chosen to illustrate theprinciples of the preferred embodiment which are not implementationspecific. The encoder has three main functional blocks: data receivingsection 31 which receives asynchronous data over data link 2 from sourceDTE 1, and provides flow control to the source DTE 1 over that datalink, and which provides an output to circular buffer 32, which in turnprovides an output to data encoding and transmitting section 33 whichalso receives a transmit (TX) clock signal from transmitting DCE 4 andprovides a synchronous data output to DCE 4. The operation of theencoder 3 will be described in more detail below.

The decoder 6 is shown, in functional block terms, in FIG. 3, and has adata receiving and decoding section 61 which receives from receiving DCE5 synchronous data and received (RX) clock, and provides data tocircular buffer 62 which is connected to data transmit section 63 whichalso has a flow control input from destination DTE 8 and provides anasynchronous data output to the destination DTE 8.

The operation of the system of the preferred embodiment will now bedescribed. Data is transmitted in the form of an asynchronous serialstream from DTE 1 of the user A, over the data link 2. The data isreceived by the encoder 3. The synchronous stream that is output fromthe encoder 3 is fed to transmitter DCE 4 which controls the interfaceto the transmission medium (e.g. satellite link).

The data is received from the transmission medium by the receiving DCE5, which feeds the data in the form of a synchronous serial stream todecoder 6. The decoder then sends the user data to the equipment of userB in the form of an asynchronous serial stream.

The operation algorithm of the encoder 3 will now be described in moredetail with reference to FIGS. 2 and 4. An implementation of theencoding algorithm can be considered in two parts, the interface to thesource DTE 1 via the asynchronous link 2 and the interface to thetransmitting DCE 4 using synchronous clock and data lines.

The encoding algorithm is in part realised in the encoding andtransmitting section 33 as shown in FIG. 4. The encoding section 33operates in synchronism with the transmit data stream. When data isrequired by the transmitting section 33, the character buffer 32 ischecked to see if data is present (FIG. 4 (S1)). If there is noinformation present then the pointer to read information from thecircular buffer is not updated and a null character is sent to thetransmit routines (S2). If information is present in the buffer then thenext character in the buffer is read (S3) into a temporary location andscrambled by a bit-wise exclusive-or process (S4). If the result of thescrambling process is such that the scrambled character is the same asthe null character (S5), then the pointer to read information from thecircular buffer is not updated, and the null character is sent to thetransmit routine. If the result is a non-null character then theresulting character is sent to the transmit routine and the pointer toread information from the circular buffer is updated (S6) to point tothe next character location in the buffer.

The scrambling process can be achieved using a look-up table whichcontains all scrambling templates required for transmission of theentire frame, and a pointer which is incremented (S7) each time acharacter is transmitted over the synchronous link. In this way thescrambler operates in synchronism with the transmitted data streamrather than the received data stream. The reason this is important isthat it means that the transmit and receive scramblers are synchronousand providing each character in the scrambling table is different, eachcharacter can only be delayed by one character period over thesynchronous link.

The data is formed into blocks for transmission in steps S8-S12 as willbe apparent from FIG. 4.

FIG. 4 illustrates an optional inclusion of an additional scrambler andconvolutional encoder of the data after the output from the characterscrambler. The convolutional encoder is only provided if the error rateover the synchronous link is significant, and the increase in overheadrequired is acceptable. The additional scrambler operates by inversionof all the symbols of a character dependent upon the output of anotherpseudo-random generator. This scrambler is provided to enable clockrecovery during periods when data is absent from the synchronous link,and in the case of a radio frequency link, to avoid dramatic changes inthe spectrum of the transmitted signal when data is absent. Therequirement for this feature is reduced by employing a null characterconsisting of a bit pattern that contains 0's and 1's.

Referring to FIGS. 3 and 5, an implementation of the decoding algorithmcan also be considered in two parts: the interface to the receive DCE 5using the synchronous clock and data lines, and the interface to thedestination DTE 8 via the asynchronous link 7.

The decoding algorithm is in part realised in the receiving and decodingsection and is shown in FIG. 5. The decoding algorithm also operates insynchronism with the synchronous link data rate. When a character hasbeen received from the synchronous link (S101), if the character is thenull character then this is discarded (S102), otherwise the informationis descrambled (S103) and placed in the circular buffer (S104) fortransmission over the asynchronous serial link. The descrambling at S103is carried out using a descrambling table which is the same as thescrambling table used in encoder 3. Finally, the pointer to thedescrambler table is incremented (S105), and the routine awaits the nextcharacter from the synchronous link.

If the optional additional scrambler and convolutional encoder have beenincluded in the encoder 3, then additional Viterbi decoder andadditional descrambler stages are included in the decoder 4, and operateon received characters prior to the operation of steps S102-S108 (seeFIG. 5).

Further aspects of the preferred implementation of the invention willnow be reviewed.

The effect of bit errors on the information while being transferred overthe synchronous link is very dependent upon the utilisation of theavailable capacity of the synchronous link. When the system is utilisedat close to full capacity, that is heavily loaded, very few nullcharacters are transmitted over the synchronous link, and the effect oferrors is simply to corrupt the user information as would be the case ifbit errors occurred over the asynchronous link. When the amount ofinformation on the synchronous link is considerably below maximumcapacity, there are a large number of null characters present. If a nullcharacter is corrupted then the corrupted character will be descrambledby the decoder and transmitted along the asynchronous link to thedestination DTE, USER B in FIG. 1. The destination DTE will thereforereceive additional characters of a random nature if bit errors occur inthe null character.

One way of minimising the effects of errors on the link is to providesome form of data integrity checking before the decoding is performed,and this could take the form of block error checking such as single bitparity checking, or by reservation of extra characters to be used asadditional null characters and sequencing the null characters forvalidation. An attractive approach is to introduce convolutionalencoding and Viterbi decoding as shown in the implementation diagramsFIG. 4 and FIG. 5 referred to above. This has the effect ofsignificantly reducing the bit error probability for synchronous linkswhich are experiencing severe errors with a Gaussian probability densityfunction. The level of protection that is applied to the synchronouslink will depend very much upon the application, and it is entirelypossible in a well designed system that the destination DTE will performdata validation which will obviate the requirement for coding ofinformation over the synchronous link.

When a frame structure is present such as in the synchronous link of thepreferred implementation it allows synchronisation of the signals in theencoder and decoder, because once synchronisation to the frame structurehas been established, a scrambler can operate in synchronism with thedata being transmitted over the synchronous link. The scrambler operateson a character by character basis and in the preferred embodimentadjacent characters from the scrambler are different. The scramblingcharacter values are generated using a pseudo random process. Theelements of the scrambler look-up table could, for example, be generatedusing maximal length feed back shift registers as is known in the art.Preferably the length of the generator contains the same number of bitsas each character, and this is sufficient to ensure that adjacentscrambling characters cannot contain the same value. The overhead of thesystem is related to the probability of a user's character being thesame as the null character after the scrambling process. This isdirectly related to the number of bits per character over theasynchronous link. For characters containing eight bits per symbol, theadditional overhead is 1/256 of the asynchronous information rate.Additional overhead to provide the frame structure is required, but thiswill usually only consist of a header in the form of a unique wordrequiring generally not more than 1% of the capacity.

A suitable frame structure for operation of the described embodimentrequires only sufficient information to allow the system to recover thetiming synchronisation. This will have a large dependence upon thecharacteristics of the synchronous link. For example the noiseexperienced over a transmission line with several repeater stages willconsist mainly of accumulated phase noise and shot noise, with a smallamount of thermal noise (wideband with respect to the signal bandwidth),whereas a radio link will experience severe thermal noise effects andmay include fading, adjacent and co-channel interference and non-lineareffects, and the synchronisation performance will be far worse for asignal with the same amount of synchronisation information. For asatellite system, a suitable frame structure would include a uniquesynchronisation word requiring 1% to 2% of the system information in theframe. The synchronisation word would be distributed throughout theframe to improve acquisition performance and reduce the maximumthroughput delay.

I claim:
 1. A communications system for handling a stream of datacharacters comprising:a transmitting part having:means for encoding anincoming data character into an encoded character, means for determiningwhether an encoded character is one of a predetermined set ofcharacters, means, responsive to the determining means, for controllingthe encoding means to encode an incoming data character a plurality oftimes until an encoded character occurs which is not one of thepredetermined set of characters, and means for transmitting either eachencoded character, or when an encoded character is one of thepredetermined set, a character from the predetermined set; and areceiving part having:means for receiving a transmitted character, meansfor determining whether or not a received character is one of thepredetermined set of characters, means for decoding a received characterso that a decoded character is provided from the receiver when thecorresponding received character is determined not to be one of the setof characters.
 2. A communications system as claimed in claim 1 whereinthe encoding means has means for performing a scrambling operation onthe data characters.
 3. A communications system as claimed in claim 1wherein the means for encoding has means for encoding data characters ina pseudo random sequence.
 4. A communication system as claimed in claim3 wherein the scrambling means has means for performing a bit-wiseexclusive-or scrambling operation.
 5. A communication system as claimedin claim 1 wherein the transmitting means has means for transmitting theencoded characters synchronously to the receiving means.
 6. Acommunication system as claimed in claim 5 wherein the encoder and thedecoder are synchronised by the synchronous transmissions between thetransmitting part and the receiving part.
 7. A communication system asclaimed in claim 1 wherein the set of characters is selected from one ofthe following sets:a) a null character b) a non-null character c) eithera) or b) and one or more other characters.
 8. A data transmission systemin which one or more characters are reserved for system use comprisingan encoder, a transmitter, a receiver and a decoder; a data streamentering the system is coded by the encoder a character at a time by theencoder and a test for the reserved character is performed on eachencoded character, if this is positive the character is encoded again,all encoded characters are transmitted by the transmitter, after thetransmitted characters have been received in the receiver the test forthe reserved character is performed on each received character, if thisis negative the received character is decoded by the decoder and passedout of the system as data.
 9. A system as claimed in claim 8 wherein thetransmission is synchronous and the incoming data stream isasynchronous.
 10. A system as claimed in claim 8 wherein the reservedcharacter is a null character.
 11. A system as claimed in claim 8,wherein the encoder and decoder employ a pseudo random process.
 12. Asystem as claimed in claim 8, wherein encoder characters resulting fromsuccessively encoding the same character are different.
 13. A system asclaimed in claim 8 wherein the encoder and decoder utilise a look-uptable.
 14. A method of transmitting data characters between atransmitter and a receiver comprising the steps of:at the transmitter:encoding an incoming data character a plurality of times until anencoded character occurs which is not one of a predetermined set ofcharacters; andtransmitting each encoded character, whether or not thatencoded character is one of the predetermined set; and at the receiverthe steps ofreceiving a transmitted character; and providing a decodedoutput character from the receiver when the corresponding receivedcharacter is determined not to be the one of the set of characters. 15.A communication system in which data characters are each encoded in anencoder a plurality of times until an encoded character occurs which isnot one of a predetermined set of characters; each encoded character,whether or not that encoded character is one of the predetermined set istransmitted by a transmitter to a receiver and a decoded outputcharacter provided from a decoder when the corresponding receivedcharacter is determined not to be the one of the set of characters. 16.A communication system for transmitting data from a discontinuous streamof data over a data link requiring a continuous stream of data,comprising:a transmitting part having:means for encoding data in anincoming data stream on a character by character basis, which encodingvaries between successive characters of the continuous stream, means fordetermining whether an encoded character is one of a predetermined setof characters, control means, responsive to the determining means, forcontrolling the encoding means to encode incoming data a plurality oftimes until an encoded character occurs which is not one of thepredetermined set of characters, detection means for detecting theabsence of data in the incoming data stream, and transmitting means,responsive to the detection means, for transmitting in the absence ofincoming data one of the predetermined set of characters, or whenincoming data is present, each encoded character, unless an encodedcharacter is one of the predetermined set when one of the predeterminedset of characters is transmitted; a receiving part having: means forreceiving transmitted characters to maintain the receiving part insynchronism with the transmitting part; means for determining whether ornot a received character is one of the predetermined set of characters;means for decoding a received character, whereby a decoded character isprovided from the receiver when the corresponding received character isdetermined not to be the one of the set of characters, and the decodingmeans being kept co-ordinated with the encoding means of thetransmitting part through the receipt of successive transmittedcharacters.
 17. A communication system as claimed in claim 16 whereinthe said predetermined set comprises one character.
 18. A communicationssystem as claimed in claim 16 wherein a null character is a member ofthe predetermined set of characters.
 19. A communications system asclaimed in claim 16, wherein the incoming data stream is asynchronousand the continuous data stream is synchronous.
 20. A system as claimedin claim 16, wherein the encoder and decoder employ a pseudo randomprocess.
 21. A system as claimed in claim 16 wherein the encoder anddecoder utilise a look-up table.
 22. In a communications system whereina stream of provided character data are successively encoded,transmitted from one site, received at another site and decoded thereatto reproduce said stream of character data, the improvement comprising:arepetitive encoder located at said first site which has been conditionedto encode a plurality of times and transmit each character data if theencoded character data equals at least one predetermined data value butto otherwise singly encode and transmit successive provided characterdata.
 23. An improved communications system as in claim 22 furthercomprising:a decoder located at said second site which has beenconditioned to decode each received encoded character data unless itequals said at least one predetermined data value.
 24. An improvedmethod of operating a communications system wherein a stream of providedcharacter data are successively encoded, transmitted from one site,received at another site and decoded thereat to reproduce said stream ofcharacter data, the improvement comprising:encoding a plurality of timesand transmitting each character data if the encoded character dataequals at least one predetermined data value but otherwise singlyencoding and transmitting successive provided character data.
 25. Animproved method as in claim 24 further comprising:decoding and retainingeach received encoded character data unless it equals said at least onepredetermined value.